<?php


abstract class BaseUsuarios extends BaseObject  implements Persistent {


	
	protected static $peer;


	
	protected $id;


	
	protected $funcionario_id = 0;


	
	protected $login = 'null';


	
	protected $senha = 'null';


	
	protected $credencial_id = 0;


	
	protected $ativo = 1;


	
	protected $created_at;


	
	protected $updated_at;

	
	protected $aFuncionarios;

	
	protected $aCredencials;

	
	protected $collAnoss;

	
	protected $lastAnosCriteria = null;

	
	protected $collCidadess;

	
	protected $lastCidadesCriteria = null;

	
	protected $collCobradorss;

	
	protected $lastCobradorsCriteria = null;

	
	protected $collContribuintess;

	
	protected $lastContribuintesCriteria = null;

	
	protected $collCredencialss;

	
	protected $lastCredencialsCriteria = null;

	
	protected $collDiass;

	
	protected $lastDiasCriteria = null;

	
	protected $collDoacaoss;

	
	protected $lastDoacaosCriteria = null;

	
	protected $collEmpcontribuintess;

	
	protected $lastEmpcontribuintesCriteria = null;

	
	protected $collEstadoss;

	
	protected $lastEstadosCriteria = null;

	
	protected $collFuncionarioss;

	
	protected $lastFuncionariosCriteria = null;

	
	protected $collIndicacaoss;

	
	protected $lastIndicacaosCriteria = null;

	
	protected $collMesss;

	
	protected $lastMessCriteria = null;

	
	protected $collProfissaoss;

	
	protected $lastProfissaosCriteria = null;

	
	protected $collRamoatividadess;

	
	protected $lastRamoatividadesCriteria = null;

	
	protected $collRelatorioss;

	
	protected $lastRelatoriosCriteria = null;

	
	protected $collSituacaoss;

	
	protected $lastSituacaosCriteria = null;

	
	protected $collTipocontribuintess;

	
	protected $lastTipocontribuintesCriteria = null;

	
	protected $alreadyInSave = false;

	
	protected $alreadyInValidation = false;

	
	public function getId()
	{

		return $this->id;
	}

	
	public function getFuncionarioId()
	{

		return $this->funcionario_id;
	}

	
	public function getLogin()
	{

		return $this->login;
	}

	
	public function getSenha()
	{

		return $this->senha;
	}

	
	public function getCredencialId()
	{

		return $this->credencial_id;
	}

	
	public function getAtivo()
	{

		return $this->ativo;
	}

	
	public function getCreatedAt($format = 'Y-m-d H:i:s')
	{

		if ($this->created_at === null || $this->created_at === '') {
			return null;
		} elseif (!is_int($this->created_at)) {
						$ts = strtotime($this->created_at);
			if ($ts === -1 || $ts === false) { 				throw new PropelException("Unable to parse value of [created_at] as date/time value: " . var_export($this->created_at, true));
			}
		} else {
			$ts = $this->created_at;
		}
		if ($format === null) {
			return $ts;
		} elseif (strpos($format, '%') !== false) {
			return strftime($format, $ts);
		} else {
			return date($format, $ts);
		}
	}

	
	public function getUpdatedAt($format = 'Y-m-d H:i:s')
	{

		if ($this->updated_at === null || $this->updated_at === '') {
			return null;
		} elseif (!is_int($this->updated_at)) {
						$ts = strtotime($this->updated_at);
			if ($ts === -1 || $ts === false) { 				throw new PropelException("Unable to parse value of [updated_at] as date/time value: " . var_export($this->updated_at, true));
			}
		} else {
			$ts = $this->updated_at;
		}
		if ($format === null) {
			return $ts;
		} elseif (strpos($format, '%') !== false) {
			return strftime($format, $ts);
		} else {
			return date($format, $ts);
		}
	}

	
	public function setId($v)
	{

		
		
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->id !== $v) {
			$this->id = $v;
			$this->modifiedColumns[] = UsuariosPeer::ID;
		}

	} 
	
	public function setFuncionarioId($v)
	{

		
		
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->funcionario_id !== $v || $v === 0) {
			$this->funcionario_id = $v;
			$this->modifiedColumns[] = UsuariosPeer::FUNCIONARIO_ID;
		}

		if ($this->aFuncionarios !== null && $this->aFuncionarios->getId() !== $v) {
			$this->aFuncionarios = null;
		}

	} 
	
	public function setLogin($v)
	{

		
		
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->login !== $v || $v === 'null') {
			$this->login = $v;
			$this->modifiedColumns[] = UsuariosPeer::LOGIN;
		}

	} 
	
	public function setSenha($v)
	{

		
		
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->senha !== $v || $v === 'null') {
			$this->senha = $v;
			$this->modifiedColumns[] = UsuariosPeer::SENHA;
		}

	} 
	
	public function setCredencialId($v)
	{

		
		
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->credencial_id !== $v || $v === 0) {
			$this->credencial_id = $v;
			$this->modifiedColumns[] = UsuariosPeer::CREDENCIAL_ID;
		}

		if ($this->aCredencials !== null && $this->aCredencials->getId() !== $v) {
			$this->aCredencials = null;
		}

	} 
	
	public function setAtivo($v)
	{

		
		
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->ativo !== $v || $v === 1) {
			$this->ativo = $v;
			$this->modifiedColumns[] = UsuariosPeer::ATIVO;
		}

	} 
	
	public function setCreatedAt($v)
	{

		if ($v !== null && !is_int($v)) {
			$ts = strtotime($v);
			if ($ts === -1 || $ts === false) { 				throw new PropelException("Unable to parse date/time value for [created_at] from input: " . var_export($v, true));
			}
		} else {
			$ts = $v;
		}
		if ($this->created_at !== $ts) {
			$this->created_at = $ts;
			$this->modifiedColumns[] = UsuariosPeer::CREATED_AT;
		}

	} 
	
	public function setUpdatedAt($v)
	{

		if ($v !== null && !is_int($v)) {
			$ts = strtotime($v);
			if ($ts === -1 || $ts === false) { 				throw new PropelException("Unable to parse date/time value for [updated_at] from input: " . var_export($v, true));
			}
		} else {
			$ts = $v;
		}
		if ($this->updated_at !== $ts) {
			$this->updated_at = $ts;
			$this->modifiedColumns[] = UsuariosPeer::UPDATED_AT;
		}

	} 
	
	public function hydrate(ResultSet $rs, $startcol = 1)
	{
		try {

			$this->id = $rs->getInt($startcol + 0);

			$this->funcionario_id = $rs->getInt($startcol + 1);

			$this->login = $rs->getString($startcol + 2);

			$this->senha = $rs->getString($startcol + 3);

			$this->credencial_id = $rs->getInt($startcol + 4);

			$this->ativo = $rs->getInt($startcol + 5);

			$this->created_at = $rs->getTimestamp($startcol + 6, null);

			$this->updated_at = $rs->getTimestamp($startcol + 7, null);

			$this->resetModified();

			$this->setNew(false);

						return $startcol + 8; 
		} catch (Exception $e) {
			throw new PropelException("Error populating Usuarios object", $e);
		}
	}

	
	public function delete($con = null)
	{
		if ($this->isDeleted()) {
			throw new PropelException("This object has already been deleted.");
		}

		if ($con === null) {
			$con = Propel::getConnection(UsuariosPeer::DATABASE_NAME);
		}

		try {
			$con->begin();
			UsuariosPeer::doDelete($this, $con);
			$this->setDeleted(true);
			$con->commit();
		} catch (PropelException $e) {
			$con->rollback();
			throw $e;
		}
	}

	
	public function save($con = null)
	{
    if ($this->isNew() && !$this->isColumnModified(UsuariosPeer::CREATED_AT))
    {
      $this->setCreatedAt(time());
    }

    if ($this->isModified() && !$this->isColumnModified(UsuariosPeer::UPDATED_AT))
    {
      $this->setUpdatedAt(time());
    }

		if ($this->isDeleted()) {
			throw new PropelException("You cannot save an object that has been deleted.");
		}

		if ($con === null) {
			$con = Propel::getConnection(UsuariosPeer::DATABASE_NAME);
		}

		try {
			$con->begin();
			$affectedRows = $this->doSave($con);
			$con->commit();
			return $affectedRows;
		} catch (PropelException $e) {
			$con->rollback();
			throw $e;
		}
	}

	
	protected function doSave($con)
	{
		$affectedRows = 0; 		if (!$this->alreadyInSave) {
			$this->alreadyInSave = true;


												
			if ($this->aFuncionarios !== null) {
				if ($this->aFuncionarios->isModified()) {
					$affectedRows += $this->aFuncionarios->save($con);
				}
				$this->setFuncionarios($this->aFuncionarios);
			}

			if ($this->aCredencials !== null) {
				if ($this->aCredencials->isModified()) {
					$affectedRows += $this->aCredencials->save($con);
				}
				$this->setCredencials($this->aCredencials);
			}


						if ($this->isModified()) {
				if ($this->isNew()) {
					$pk = UsuariosPeer::doInsert($this, $con);
					$affectedRows += 1; 										 										 
					$this->setId($pk);  
					$this->setNew(false);
				} else {
					$affectedRows += UsuariosPeer::doUpdate($this, $con);
				}
				$this->resetModified(); 			}

			if ($this->collAnoss !== null) {
				foreach($this->collAnoss as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collCidadess !== null) {
				foreach($this->collCidadess as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collCobradorss !== null) {
				foreach($this->collCobradorss as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collContribuintess !== null) {
				foreach($this->collContribuintess as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collCredencialss !== null) {
				foreach($this->collCredencialss as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collDiass !== null) {
				foreach($this->collDiass as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collDoacaoss !== null) {
				foreach($this->collDoacaoss as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collEmpcontribuintess !== null) {
				foreach($this->collEmpcontribuintess as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collEstadoss !== null) {
				foreach($this->collEstadoss as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collFuncionarioss !== null) {
				foreach($this->collFuncionarioss as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collIndicacaoss !== null) {
				foreach($this->collIndicacaoss as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collMesss !== null) {
				foreach($this->collMesss as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collProfissaoss !== null) {
				foreach($this->collProfissaoss as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collRamoatividadess !== null) {
				foreach($this->collRamoatividadess as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collRelatorioss !== null) {
				foreach($this->collRelatorioss as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collSituacaoss !== null) {
				foreach($this->collSituacaoss as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->collTipocontribuintess !== null) {
				foreach($this->collTipocontribuintess as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			$this->alreadyInSave = false;
		}
		return $affectedRows;
	} 
	
	protected $validationFailures = array();

	
	public function getValidationFailures()
	{
		return $this->validationFailures;
	}

	
	public function validate($columns = null)
	{
		$res = $this->doValidate($columns);
		if ($res === true) {
			$this->validationFailures = array();
			return true;
		} else {
			$this->validationFailures = $res;
			return false;
		}
	}

	
	protected function doValidate($columns = null)
	{
		if (!$this->alreadyInValidation) {
			$this->alreadyInValidation = true;
			$retval = null;

			$failureMap = array();


												
			if ($this->aFuncionarios !== null) {
				if (!$this->aFuncionarios->validate($columns)) {
					$failureMap = array_merge($failureMap, $this->aFuncionarios->getValidationFailures());
				}
			}

			if ($this->aCredencials !== null) {
				if (!$this->aCredencials->validate($columns)) {
					$failureMap = array_merge($failureMap, $this->aCredencials->getValidationFailures());
				}
			}


			if (($retval = UsuariosPeer::doValidate($this, $columns)) !== true) {
				$failureMap = array_merge($failureMap, $retval);
			}


				if ($this->collAnoss !== null) {
					foreach($this->collAnoss as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collCidadess !== null) {
					foreach($this->collCidadess as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collCobradorss !== null) {
					foreach($this->collCobradorss as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collContribuintess !== null) {
					foreach($this->collContribuintess as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collCredencialss !== null) {
					foreach($this->collCredencialss as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collDiass !== null) {
					foreach($this->collDiass as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collDoacaoss !== null) {
					foreach($this->collDoacaoss as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collEmpcontribuintess !== null) {
					foreach($this->collEmpcontribuintess as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collEstadoss !== null) {
					foreach($this->collEstadoss as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collFuncionarioss !== null) {
					foreach($this->collFuncionarioss as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collIndicacaoss !== null) {
					foreach($this->collIndicacaoss as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collMesss !== null) {
					foreach($this->collMesss as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collProfissaoss !== null) {
					foreach($this->collProfissaoss as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collRamoatividadess !== null) {
					foreach($this->collRamoatividadess as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collRelatorioss !== null) {
					foreach($this->collRelatorioss as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collSituacaoss !== null) {
					foreach($this->collSituacaoss as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}

				if ($this->collTipocontribuintess !== null) {
					foreach($this->collTipocontribuintess as $referrerFK) {
						if (!$referrerFK->validate($columns)) {
							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
						}
					}
				}


			$this->alreadyInValidation = false;
		}

		return (!empty($failureMap) ? $failureMap : true);
	}

	
	public function getByName($name, $type = BasePeer::TYPE_PHPNAME)
	{
		$pos = UsuariosPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
		return $this->getByPosition($pos);
	}

	
	public function getByPosition($pos)
	{
		switch($pos) {
			case 0:
				return $this->getId();
				break;
			case 1:
				return $this->getFuncionarioId();
				break;
			case 2:
				return $this->getLogin();
				break;
			case 3:
				return $this->getSenha();
				break;
			case 4:
				return $this->getCredencialId();
				break;
			case 5:
				return $this->getAtivo();
				break;
			case 6:
				return $this->getCreatedAt();
				break;
			case 7:
				return $this->getUpdatedAt();
				break;
			default:
				return null;
				break;
		} 	}

	
	public function toArray($keyType = BasePeer::TYPE_PHPNAME)
	{
		$keys = UsuariosPeer::getFieldNames($keyType);
		$result = array(
			$keys[0] => $this->getId(),
			$keys[1] => $this->getFuncionarioId(),
			$keys[2] => $this->getLogin(),
			$keys[3] => $this->getSenha(),
			$keys[4] => $this->getCredencialId(),
			$keys[5] => $this->getAtivo(),
			$keys[6] => $this->getCreatedAt(),
			$keys[7] => $this->getUpdatedAt(),
		);
		return $result;
	}

	
	public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME)
	{
		$pos = UsuariosPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
		return $this->setByPosition($pos, $value);
	}

	
	public function setByPosition($pos, $value)
	{
		switch($pos) {
			case 0:
				$this->setId($value);
				break;
			case 1:
				$this->setFuncionarioId($value);
				break;
			case 2:
				$this->setLogin($value);
				break;
			case 3:
				$this->setSenha($value);
				break;
			case 4:
				$this->setCredencialId($value);
				break;
			case 5:
				$this->setAtivo($value);
				break;
			case 6:
				$this->setCreatedAt($value);
				break;
			case 7:
				$this->setUpdatedAt($value);
				break;
		} 	}

	
	public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
	{
		$keys = UsuariosPeer::getFieldNames($keyType);

		if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]);
		if (array_key_exists($keys[1], $arr)) $this->setFuncionarioId($arr[$keys[1]]);
		if (array_key_exists($keys[2], $arr)) $this->setLogin($arr[$keys[2]]);
		if (array_key_exists($keys[3], $arr)) $this->setSenha($arr[$keys[3]]);
		if (array_key_exists($keys[4], $arr)) $this->setCredencialId($arr[$keys[4]]);
		if (array_key_exists($keys[5], $arr)) $this->setAtivo($arr[$keys[5]]);
		if (array_key_exists($keys[6], $arr)) $this->setCreatedAt($arr[$keys[6]]);
		if (array_key_exists($keys[7], $arr)) $this->setUpdatedAt($arr[$keys[7]]);
	}

	
	public function buildCriteria()
	{
		$criteria = new Criteria(UsuariosPeer::DATABASE_NAME);

		if ($this->isColumnModified(UsuariosPeer::ID)) $criteria->add(UsuariosPeer::ID, $this->id);
		if ($this->isColumnModified(UsuariosPeer::FUNCIONARIO_ID)) $criteria->add(UsuariosPeer::FUNCIONARIO_ID, $this->funcionario_id);
		if ($this->isColumnModified(UsuariosPeer::LOGIN)) $criteria->add(UsuariosPeer::LOGIN, $this->login);
		if ($this->isColumnModified(UsuariosPeer::SENHA)) $criteria->add(UsuariosPeer::SENHA, $this->senha);
		if ($this->isColumnModified(UsuariosPeer::CREDENCIAL_ID)) $criteria->add(UsuariosPeer::CREDENCIAL_ID, $this->credencial_id);
		if ($this->isColumnModified(UsuariosPeer::ATIVO)) $criteria->add(UsuariosPeer::ATIVO, $this->ativo);
		if ($this->isColumnModified(UsuariosPeer::CREATED_AT)) $criteria->add(UsuariosPeer::CREATED_AT, $this->created_at);
		if ($this->isColumnModified(UsuariosPeer::UPDATED_AT)) $criteria->add(UsuariosPeer::UPDATED_AT, $this->updated_at);

		return $criteria;
	}

	
	public function buildPkeyCriteria()
	{
		$criteria = new Criteria(UsuariosPeer::DATABASE_NAME);

		$criteria->add(UsuariosPeer::ID, $this->id);

		return $criteria;
	}

	
	public function getPrimaryKey()
	{
		return $this->getId();
	}

	
	public function setPrimaryKey($key)
	{
		$this->setId($key);
	}

	
	public function copyInto($copyObj, $deepCopy = false)
	{

		$copyObj->setFuncionarioId($this->funcionario_id);

		$copyObj->setLogin($this->login);

		$copyObj->setSenha($this->senha);

		$copyObj->setCredencialId($this->credencial_id);

		$copyObj->setAtivo($this->ativo);

		$copyObj->setCreatedAt($this->created_at);

		$copyObj->setUpdatedAt($this->updated_at);


		if ($deepCopy) {
									$copyObj->setNew(false);

			foreach($this->getAnoss() as $relObj) {
				$copyObj->addAnos($relObj->copy($deepCopy));
			}

			foreach($this->getCidadess() as $relObj) {
				$copyObj->addCidades($relObj->copy($deepCopy));
			}

			foreach($this->getCobradorss() as $relObj) {
				$copyObj->addCobradors($relObj->copy($deepCopy));
			}

			foreach($this->getContribuintess() as $relObj) {
				$copyObj->addContribuintes($relObj->copy($deepCopy));
			}

			foreach($this->getCredencialss() as $relObj) {
				$copyObj->addCredencials($relObj->copy($deepCopy));
			}

			foreach($this->getDiass() as $relObj) {
				$copyObj->addDias($relObj->copy($deepCopy));
			}

			foreach($this->getDoacaoss() as $relObj) {
				$copyObj->addDoacaos($relObj->copy($deepCopy));
			}

			foreach($this->getEmpcontribuintess() as $relObj) {
				$copyObj->addEmpcontribuintes($relObj->copy($deepCopy));
			}

			foreach($this->getEstadoss() as $relObj) {
				$copyObj->addEstados($relObj->copy($deepCopy));
			}

			foreach($this->getFuncionarioss() as $relObj) {
				$copyObj->addFuncionarios($relObj->copy($deepCopy));
			}

			foreach($this->getIndicacaoss() as $relObj) {
				$copyObj->addIndicacaos($relObj->copy($deepCopy));
			}

			foreach($this->getMesss() as $relObj) {
				$copyObj->addMess($relObj->copy($deepCopy));
			}

			foreach($this->getProfissaoss() as $relObj) {
				$copyObj->addProfissaos($relObj->copy($deepCopy));
			}

			foreach($this->getRamoatividadess() as $relObj) {
				$copyObj->addRamoatividades($relObj->copy($deepCopy));
			}

			foreach($this->getRelatorioss() as $relObj) {
				$copyObj->addRelatorios($relObj->copy($deepCopy));
			}

			foreach($this->getSituacaoss() as $relObj) {
				$copyObj->addSituacaos($relObj->copy($deepCopy));
			}

			foreach($this->getTipocontribuintess() as $relObj) {
				$copyObj->addTipocontribuintes($relObj->copy($deepCopy));
			}

		} 

		$copyObj->setNew(true);

		$copyObj->setId(NULL); 
	}

	
	public function copy($deepCopy = false)
	{
				$clazz = get_class($this);
		$copyObj = new $clazz();
		$this->copyInto($copyObj, $deepCopy);
		return $copyObj;
	}

	
	public function getPeer()
	{
		if (self::$peer === null) {
			self::$peer = new UsuariosPeer();
		}
		return self::$peer;
	}

	
	public function setFuncionarios($v)
	{


		if ($v === null) {
			$this->setFuncionarioId('null');
		} else {
			$this->setFuncionarioId($v->getId());
		}


		$this->aFuncionarios = $v;
	}


	
	public function getFuncionarios($con = null)
	{
		if ($this->aFuncionarios === null && ($this->funcionario_id !== null)) {
						include_once 'lib/model/om/BaseFuncionariosPeer.php';

			$this->aFuncionarios = FuncionariosPeer::retrieveByPK($this->funcionario_id, $con);

			
		}
		return $this->aFuncionarios;
	}

	
	public function setCredencials($v)
	{


		if ($v === null) {
			$this->setCredencialId('null');
		} else {
			$this->setCredencialId($v->getId());
		}


		$this->aCredencials = $v;
	}


	
	public function getCredencials($con = null)
	{
		if ($this->aCredencials === null && ($this->credencial_id !== null)) {
						include_once 'lib/model/om/BaseCredencialsPeer.php';

			$this->aCredencials = CredencialsPeer::retrieveByPK($this->credencial_id, $con);

			
		}
		return $this->aCredencials;
	}

	
	public function initAnoss()
	{
		if ($this->collAnoss === null) {
			$this->collAnoss = array();
		}
	}

	
	public function getAnoss($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseAnosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collAnoss === null) {
			if ($this->isNew()) {
			   $this->collAnoss = array();
			} else {

				$criteria->add(AnosPeer::USUARIO_ID, $this->getId());

				AnosPeer::addSelectColumns($criteria);
				$this->collAnoss = AnosPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(AnosPeer::USUARIO_ID, $this->getId());

				AnosPeer::addSelectColumns($criteria);
				if (!isset($this->lastAnosCriteria) || !$this->lastAnosCriteria->equals($criteria)) {
					$this->collAnoss = AnosPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastAnosCriteria = $criteria;
		return $this->collAnoss;
	}

	
	public function countAnoss($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseAnosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(AnosPeer::USUARIO_ID, $this->getId());

		return AnosPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addAnos(Anos $l)
	{
		$this->collAnoss[] = $l;
		$l->setUsuarios($this);
	}

	
	public function initCidadess()
	{
		if ($this->collCidadess === null) {
			$this->collCidadess = array();
		}
	}

	
	public function getCidadess($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseCidadesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collCidadess === null) {
			if ($this->isNew()) {
			   $this->collCidadess = array();
			} else {

				$criteria->add(CidadesPeer::USUARIO_ID, $this->getId());

				CidadesPeer::addSelectColumns($criteria);
				$this->collCidadess = CidadesPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(CidadesPeer::USUARIO_ID, $this->getId());

				CidadesPeer::addSelectColumns($criteria);
				if (!isset($this->lastCidadesCriteria) || !$this->lastCidadesCriteria->equals($criteria)) {
					$this->collCidadess = CidadesPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastCidadesCriteria = $criteria;
		return $this->collCidadess;
	}

	
	public function countCidadess($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseCidadesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(CidadesPeer::USUARIO_ID, $this->getId());

		return CidadesPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addCidades(Cidades $l)
	{
		$this->collCidadess[] = $l;
		$l->setUsuarios($this);
	}

	
	public function initCobradorss()
	{
		if ($this->collCobradorss === null) {
			$this->collCobradorss = array();
		}
	}

	
	public function getCobradorss($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseCobradorsPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collCobradorss === null) {
			if ($this->isNew()) {
			   $this->collCobradorss = array();
			} else {

				$criteria->add(CobradorsPeer::USUARIO_ID, $this->getId());

				CobradorsPeer::addSelectColumns($criteria);
				$this->collCobradorss = CobradorsPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(CobradorsPeer::USUARIO_ID, $this->getId());

				CobradorsPeer::addSelectColumns($criteria);
				if (!isset($this->lastCobradorsCriteria) || !$this->lastCobradorsCriteria->equals($criteria)) {
					$this->collCobradorss = CobradorsPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastCobradorsCriteria = $criteria;
		return $this->collCobradorss;
	}

	
	public function countCobradorss($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseCobradorsPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(CobradorsPeer::USUARIO_ID, $this->getId());

		return CobradorsPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addCobradors(Cobradors $l)
	{
		$this->collCobradorss[] = $l;
		$l->setUsuarios($this);
	}


	
	public function getCobradorssJoinFuncionarios($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseCobradorsPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collCobradorss === null) {
			if ($this->isNew()) {
				$this->collCobradorss = array();
			} else {

				$criteria->add(CobradorsPeer::USUARIO_ID, $this->getId());

				$this->collCobradorss = CobradorsPeer::doSelectJoinFuncionarios($criteria, $con);
			}
		} else {
									
			$criteria->add(CobradorsPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastCobradorsCriteria) || !$this->lastCobradorsCriteria->equals($criteria)) {
				$this->collCobradorss = CobradorsPeer::doSelectJoinFuncionarios($criteria, $con);
			}
		}
		$this->lastCobradorsCriteria = $criteria;

		return $this->collCobradorss;
	}

	
	public function initContribuintess()
	{
		if ($this->collContribuintess === null) {
			$this->collContribuintess = array();
		}
	}

	
	public function getContribuintess($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseContribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collContribuintess === null) {
			if ($this->isNew()) {
			   $this->collContribuintess = array();
			} else {

				$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

				ContribuintesPeer::addSelectColumns($criteria);
				$this->collContribuintess = ContribuintesPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

				ContribuintesPeer::addSelectColumns($criteria);
				if (!isset($this->lastContribuintesCriteria) || !$this->lastContribuintesCriteria->equals($criteria)) {
					$this->collContribuintess = ContribuintesPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastContribuintesCriteria = $criteria;
		return $this->collContribuintess;
	}

	
	public function countContribuintess($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseContribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

		return ContribuintesPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addContribuintes(Contribuintes $l)
	{
		$this->collContribuintess[] = $l;
		$l->setUsuarios($this);
	}


	
	public function getContribuintessJoinTipocontribuintes($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseContribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collContribuintess === null) {
			if ($this->isNew()) {
				$this->collContribuintess = array();
			} else {

				$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

				$this->collContribuintess = ContribuintesPeer::doSelectJoinTipocontribuintes($criteria, $con);
			}
		} else {
									
			$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastContribuintesCriteria) || !$this->lastContribuintesCriteria->equals($criteria)) {
				$this->collContribuintess = ContribuintesPeer::doSelectJoinTipocontribuintes($criteria, $con);
			}
		}
		$this->lastContribuintesCriteria = $criteria;

		return $this->collContribuintess;
	}


	
	public function getContribuintessJoinCidades($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseContribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collContribuintess === null) {
			if ($this->isNew()) {
				$this->collContribuintess = array();
			} else {

				$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

				$this->collContribuintess = ContribuintesPeer::doSelectJoinCidades($criteria, $con);
			}
		} else {
									
			$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastContribuintesCriteria) || !$this->lastContribuintesCriteria->equals($criteria)) {
				$this->collContribuintess = ContribuintesPeer::doSelectJoinCidades($criteria, $con);
			}
		}
		$this->lastContribuintesCriteria = $criteria;

		return $this->collContribuintess;
	}


	
	public function getContribuintessJoinEstados($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseContribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collContribuintess === null) {
			if ($this->isNew()) {
				$this->collContribuintess = array();
			} else {

				$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

				$this->collContribuintess = ContribuintesPeer::doSelectJoinEstados($criteria, $con);
			}
		} else {
									
			$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastContribuintesCriteria) || !$this->lastContribuintesCriteria->equals($criteria)) {
				$this->collContribuintess = ContribuintesPeer::doSelectJoinEstados($criteria, $con);
			}
		}
		$this->lastContribuintesCriteria = $criteria;

		return $this->collContribuintess;
	}


	
	public function getContribuintessJoinDias($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseContribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collContribuintess === null) {
			if ($this->isNew()) {
				$this->collContribuintess = array();
			} else {

				$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

				$this->collContribuintess = ContribuintesPeer::doSelectJoinDias($criteria, $con);
			}
		} else {
									
			$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastContribuintesCriteria) || !$this->lastContribuintesCriteria->equals($criteria)) {
				$this->collContribuintess = ContribuintesPeer::doSelectJoinDias($criteria, $con);
			}
		}
		$this->lastContribuintesCriteria = $criteria;

		return $this->collContribuintess;
	}


	
	public function getContribuintessJoinMess($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseContribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collContribuintess === null) {
			if ($this->isNew()) {
				$this->collContribuintess = array();
			} else {

				$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

				$this->collContribuintess = ContribuintesPeer::doSelectJoinMess($criteria, $con);
			}
		} else {
									
			$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastContribuintesCriteria) || !$this->lastContribuintesCriteria->equals($criteria)) {
				$this->collContribuintess = ContribuintesPeer::doSelectJoinMess($criteria, $con);
			}
		}
		$this->lastContribuintesCriteria = $criteria;

		return $this->collContribuintess;
	}


	
	public function getContribuintessJoinAnos($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseContribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collContribuintess === null) {
			if ($this->isNew()) {
				$this->collContribuintess = array();
			} else {

				$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

				$this->collContribuintess = ContribuintesPeer::doSelectJoinAnos($criteria, $con);
			}
		} else {
									
			$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastContribuintesCriteria) || !$this->lastContribuintesCriteria->equals($criteria)) {
				$this->collContribuintess = ContribuintesPeer::doSelectJoinAnos($criteria, $con);
			}
		}
		$this->lastContribuintesCriteria = $criteria;

		return $this->collContribuintess;
	}


	
	public function getContribuintessJoinProfissaos($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseContribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collContribuintess === null) {
			if ($this->isNew()) {
				$this->collContribuintess = array();
			} else {

				$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

				$this->collContribuintess = ContribuintesPeer::doSelectJoinProfissaos($criteria, $con);
			}
		} else {
									
			$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastContribuintesCriteria) || !$this->lastContribuintesCriteria->equals($criteria)) {
				$this->collContribuintess = ContribuintesPeer::doSelectJoinProfissaos($criteria, $con);
			}
		}
		$this->lastContribuintesCriteria = $criteria;

		return $this->collContribuintess;
	}


	
	public function getContribuintessJoinIndicacaos($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseContribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collContribuintess === null) {
			if ($this->isNew()) {
				$this->collContribuintess = array();
			} else {

				$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

				$this->collContribuintess = ContribuintesPeer::doSelectJoinIndicacaos($criteria, $con);
			}
		} else {
									
			$criteria->add(ContribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastContribuintesCriteria) || !$this->lastContribuintesCriteria->equals($criteria)) {
				$this->collContribuintess = ContribuintesPeer::doSelectJoinIndicacaos($criteria, $con);
			}
		}
		$this->lastContribuintesCriteria = $criteria;

		return $this->collContribuintess;
	}

	
	public function initCredencialss()
	{
		if ($this->collCredencialss === null) {
			$this->collCredencialss = array();
		}
	}

	
	public function getCredencialss($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseCredencialsPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collCredencialss === null) {
			if ($this->isNew()) {
			   $this->collCredencialss = array();
			} else {

				$criteria->add(CredencialsPeer::USUARIO_ID, $this->getId());

				CredencialsPeer::addSelectColumns($criteria);
				$this->collCredencialss = CredencialsPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(CredencialsPeer::USUARIO_ID, $this->getId());

				CredencialsPeer::addSelectColumns($criteria);
				if (!isset($this->lastCredencialsCriteria) || !$this->lastCredencialsCriteria->equals($criteria)) {
					$this->collCredencialss = CredencialsPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastCredencialsCriteria = $criteria;
		return $this->collCredencialss;
	}

	
	public function countCredencialss($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseCredencialsPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(CredencialsPeer::USUARIO_ID, $this->getId());

		return CredencialsPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addCredencials(Credencials $l)
	{
		$this->collCredencialss[] = $l;
		$l->setUsuarios($this);
	}

	
	public function initDiass()
	{
		if ($this->collDiass === null) {
			$this->collDiass = array();
		}
	}

	
	public function getDiass($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseDiasPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collDiass === null) {
			if ($this->isNew()) {
			   $this->collDiass = array();
			} else {

				$criteria->add(DiasPeer::USUARIO_ID, $this->getId());

				DiasPeer::addSelectColumns($criteria);
				$this->collDiass = DiasPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(DiasPeer::USUARIO_ID, $this->getId());

				DiasPeer::addSelectColumns($criteria);
				if (!isset($this->lastDiasCriteria) || !$this->lastDiasCriteria->equals($criteria)) {
					$this->collDiass = DiasPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastDiasCriteria = $criteria;
		return $this->collDiass;
	}

	
	public function countDiass($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseDiasPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(DiasPeer::USUARIO_ID, $this->getId());

		return DiasPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addDias(Dias $l)
	{
		$this->collDiass[] = $l;
		$l->setUsuarios($this);
	}

	
	public function initDoacaoss()
	{
		if ($this->collDoacaoss === null) {
			$this->collDoacaoss = array();
		}
	}

	
	public function getDoacaoss($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseDoacaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collDoacaoss === null) {
			if ($this->isNew()) {
			   $this->collDoacaoss = array();
			} else {

				$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

				DoacaosPeer::addSelectColumns($criteria);
				$this->collDoacaoss = DoacaosPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

				DoacaosPeer::addSelectColumns($criteria);
				if (!isset($this->lastDoacaosCriteria) || !$this->lastDoacaosCriteria->equals($criteria)) {
					$this->collDoacaoss = DoacaosPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastDoacaosCriteria = $criteria;
		return $this->collDoacaoss;
	}

	
	public function countDoacaoss($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseDoacaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

		return DoacaosPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addDoacaos(Doacaos $l)
	{
		$this->collDoacaoss[] = $l;
		$l->setUsuarios($this);
	}


	
	public function getDoacaossJoinContribuintes($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseDoacaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collDoacaoss === null) {
			if ($this->isNew()) {
				$this->collDoacaoss = array();
			} else {

				$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

				$this->collDoacaoss = DoacaosPeer::doSelectJoinContribuintes($criteria, $con);
			}
		} else {
									
			$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastDoacaosCriteria) || !$this->lastDoacaosCriteria->equals($criteria)) {
				$this->collDoacaoss = DoacaosPeer::doSelectJoinContribuintes($criteria, $con);
			}
		}
		$this->lastDoacaosCriteria = $criteria;

		return $this->collDoacaoss;
	}


	
	public function getDoacaossJoinEmpcontribuintes($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseDoacaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collDoacaoss === null) {
			if ($this->isNew()) {
				$this->collDoacaoss = array();
			} else {

				$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

				$this->collDoacaoss = DoacaosPeer::doSelectJoinEmpcontribuintes($criteria, $con);
			}
		} else {
									
			$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastDoacaosCriteria) || !$this->lastDoacaosCriteria->equals($criteria)) {
				$this->collDoacaoss = DoacaosPeer::doSelectJoinEmpcontribuintes($criteria, $con);
			}
		}
		$this->lastDoacaosCriteria = $criteria;

		return $this->collDoacaoss;
	}


	
	public function getDoacaossJoinPeriodos($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseDoacaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collDoacaoss === null) {
			if ($this->isNew()) {
				$this->collDoacaoss = array();
			} else {

				$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

				$this->collDoacaoss = DoacaosPeer::doSelectJoinPeriodos($criteria, $con);
			}
		} else {
									
			$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastDoacaosCriteria) || !$this->lastDoacaosCriteria->equals($criteria)) {
				$this->collDoacaoss = DoacaosPeer::doSelectJoinPeriodos($criteria, $con);
			}
		}
		$this->lastDoacaosCriteria = $criteria;

		return $this->collDoacaoss;
	}


	
	public function getDoacaossJoinSituacaos($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseDoacaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collDoacaoss === null) {
			if ($this->isNew()) {
				$this->collDoacaoss = array();
			} else {

				$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

				$this->collDoacaoss = DoacaosPeer::doSelectJoinSituacaos($criteria, $con);
			}
		} else {
									
			$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastDoacaosCriteria) || !$this->lastDoacaosCriteria->equals($criteria)) {
				$this->collDoacaoss = DoacaosPeer::doSelectJoinSituacaos($criteria, $con);
			}
		}
		$this->lastDoacaosCriteria = $criteria;

		return $this->collDoacaoss;
	}


	
	public function getDoacaossJoinCobradors($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseDoacaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collDoacaoss === null) {
			if ($this->isNew()) {
				$this->collDoacaoss = array();
			} else {

				$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

				$this->collDoacaoss = DoacaosPeer::doSelectJoinCobradors($criteria, $con);
			}
		} else {
									
			$criteria->add(DoacaosPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastDoacaosCriteria) || !$this->lastDoacaosCriteria->equals($criteria)) {
				$this->collDoacaoss = DoacaosPeer::doSelectJoinCobradors($criteria, $con);
			}
		}
		$this->lastDoacaosCriteria = $criteria;

		return $this->collDoacaoss;
	}

	
	public function initEmpcontribuintess()
	{
		if ($this->collEmpcontribuintess === null) {
			$this->collEmpcontribuintess = array();
		}
	}

	
	public function getEmpcontribuintess($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseEmpcontribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collEmpcontribuintess === null) {
			if ($this->isNew()) {
			   $this->collEmpcontribuintess = array();
			} else {

				$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

				EmpcontribuintesPeer::addSelectColumns($criteria);
				$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

				EmpcontribuintesPeer::addSelectColumns($criteria);
				if (!isset($this->lastEmpcontribuintesCriteria) || !$this->lastEmpcontribuintesCriteria->equals($criteria)) {
					$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastEmpcontribuintesCriteria = $criteria;
		return $this->collEmpcontribuintess;
	}

	
	public function countEmpcontribuintess($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseEmpcontribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

		return EmpcontribuintesPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addEmpcontribuintes(Empcontribuintes $l)
	{
		$this->collEmpcontribuintess[] = $l;
		$l->setUsuarios($this);
	}


	
	public function getEmpcontribuintessJoinTipocontribuintes($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseEmpcontribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collEmpcontribuintess === null) {
			if ($this->isNew()) {
				$this->collEmpcontribuintess = array();
			} else {

				$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

				$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelectJoinTipocontribuintes($criteria, $con);
			}
		} else {
									
			$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastEmpcontribuintesCriteria) || !$this->lastEmpcontribuintesCriteria->equals($criteria)) {
				$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelectJoinTipocontribuintes($criteria, $con);
			}
		}
		$this->lastEmpcontribuintesCriteria = $criteria;

		return $this->collEmpcontribuintess;
	}


	
	public function getEmpcontribuintessJoinCidades($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseEmpcontribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collEmpcontribuintess === null) {
			if ($this->isNew()) {
				$this->collEmpcontribuintess = array();
			} else {

				$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

				$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelectJoinCidades($criteria, $con);
			}
		} else {
									
			$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastEmpcontribuintesCriteria) || !$this->lastEmpcontribuintesCriteria->equals($criteria)) {
				$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelectJoinCidades($criteria, $con);
			}
		}
		$this->lastEmpcontribuintesCriteria = $criteria;

		return $this->collEmpcontribuintess;
	}


	
	public function getEmpcontribuintessJoinEstados($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseEmpcontribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collEmpcontribuintess === null) {
			if ($this->isNew()) {
				$this->collEmpcontribuintess = array();
			} else {

				$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

				$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelectJoinEstados($criteria, $con);
			}
		} else {
									
			$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastEmpcontribuintesCriteria) || !$this->lastEmpcontribuintesCriteria->equals($criteria)) {
				$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelectJoinEstados($criteria, $con);
			}
		}
		$this->lastEmpcontribuintesCriteria = $criteria;

		return $this->collEmpcontribuintess;
	}


	
	public function getEmpcontribuintessJoinRamoatividades($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseEmpcontribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collEmpcontribuintess === null) {
			if ($this->isNew()) {
				$this->collEmpcontribuintess = array();
			} else {

				$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

				$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelectJoinRamoatividades($criteria, $con);
			}
		} else {
									
			$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastEmpcontribuintesCriteria) || !$this->lastEmpcontribuintesCriteria->equals($criteria)) {
				$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelectJoinRamoatividades($criteria, $con);
			}
		}
		$this->lastEmpcontribuintesCriteria = $criteria;

		return $this->collEmpcontribuintess;
	}


	
	public function getEmpcontribuintessJoinIndicacaos($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseEmpcontribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collEmpcontribuintess === null) {
			if ($this->isNew()) {
				$this->collEmpcontribuintess = array();
			} else {

				$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

				$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelectJoinIndicacaos($criteria, $con);
			}
		} else {
									
			$criteria->add(EmpcontribuintesPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastEmpcontribuintesCriteria) || !$this->lastEmpcontribuintesCriteria->equals($criteria)) {
				$this->collEmpcontribuintess = EmpcontribuintesPeer::doSelectJoinIndicacaos($criteria, $con);
			}
		}
		$this->lastEmpcontribuintesCriteria = $criteria;

		return $this->collEmpcontribuintess;
	}

	
	public function initEstadoss()
	{
		if ($this->collEstadoss === null) {
			$this->collEstadoss = array();
		}
	}

	
	public function getEstadoss($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseEstadosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collEstadoss === null) {
			if ($this->isNew()) {
			   $this->collEstadoss = array();
			} else {

				$criteria->add(EstadosPeer::USUARIO_ID, $this->getId());

				EstadosPeer::addSelectColumns($criteria);
				$this->collEstadoss = EstadosPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(EstadosPeer::USUARIO_ID, $this->getId());

				EstadosPeer::addSelectColumns($criteria);
				if (!isset($this->lastEstadosCriteria) || !$this->lastEstadosCriteria->equals($criteria)) {
					$this->collEstadoss = EstadosPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastEstadosCriteria = $criteria;
		return $this->collEstadoss;
	}

	
	public function countEstadoss($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseEstadosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(EstadosPeer::USUARIO_ID, $this->getId());

		return EstadosPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addEstados(Estados $l)
	{
		$this->collEstadoss[] = $l;
		$l->setUsuarios($this);
	}

	
	public function initFuncionarioss()
	{
		if ($this->collFuncionarioss === null) {
			$this->collFuncionarioss = array();
		}
	}

	
	public function getFuncionarioss($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseFuncionariosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collFuncionarioss === null) {
			if ($this->isNew()) {
			   $this->collFuncionarioss = array();
			} else {

				$criteria->add(FuncionariosPeer::USUARIO_ID, $this->getId());

				FuncionariosPeer::addSelectColumns($criteria);
				$this->collFuncionarioss = FuncionariosPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(FuncionariosPeer::USUARIO_ID, $this->getId());

				FuncionariosPeer::addSelectColumns($criteria);
				if (!isset($this->lastFuncionariosCriteria) || !$this->lastFuncionariosCriteria->equals($criteria)) {
					$this->collFuncionarioss = FuncionariosPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastFuncionariosCriteria = $criteria;
		return $this->collFuncionarioss;
	}

	
	public function countFuncionarioss($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseFuncionariosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(FuncionariosPeer::USUARIO_ID, $this->getId());

		return FuncionariosPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addFuncionarios(Funcionarios $l)
	{
		$this->collFuncionarioss[] = $l;
		$l->setUsuarios($this);
	}


	
	public function getFuncionariossJoinCidades($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseFuncionariosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collFuncionarioss === null) {
			if ($this->isNew()) {
				$this->collFuncionarioss = array();
			} else {

				$criteria->add(FuncionariosPeer::USUARIO_ID, $this->getId());

				$this->collFuncionarioss = FuncionariosPeer::doSelectJoinCidades($criteria, $con);
			}
		} else {
									
			$criteria->add(FuncionariosPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastFuncionariosCriteria) || !$this->lastFuncionariosCriteria->equals($criteria)) {
				$this->collFuncionarioss = FuncionariosPeer::doSelectJoinCidades($criteria, $con);
			}
		}
		$this->lastFuncionariosCriteria = $criteria;

		return $this->collFuncionarioss;
	}


	
	public function getFuncionariossJoinEstados($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseFuncionariosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collFuncionarioss === null) {
			if ($this->isNew()) {
				$this->collFuncionarioss = array();
			} else {

				$criteria->add(FuncionariosPeer::USUARIO_ID, $this->getId());

				$this->collFuncionarioss = FuncionariosPeer::doSelectJoinEstados($criteria, $con);
			}
		} else {
									
			$criteria->add(FuncionariosPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastFuncionariosCriteria) || !$this->lastFuncionariosCriteria->equals($criteria)) {
				$this->collFuncionarioss = FuncionariosPeer::doSelectJoinEstados($criteria, $con);
			}
		}
		$this->lastFuncionariosCriteria = $criteria;

		return $this->collFuncionarioss;
	}


	
	public function getFuncionariossJoinCredencials($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseFuncionariosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collFuncionarioss === null) {
			if ($this->isNew()) {
				$this->collFuncionarioss = array();
			} else {

				$criteria->add(FuncionariosPeer::USUARIO_ID, $this->getId());

				$this->collFuncionarioss = FuncionariosPeer::doSelectJoinCredencials($criteria, $con);
			}
		} else {
									
			$criteria->add(FuncionariosPeer::USUARIO_ID, $this->getId());

			if (!isset($this->lastFuncionariosCriteria) || !$this->lastFuncionariosCriteria->equals($criteria)) {
				$this->collFuncionarioss = FuncionariosPeer::doSelectJoinCredencials($criteria, $con);
			}
		}
		$this->lastFuncionariosCriteria = $criteria;

		return $this->collFuncionarioss;
	}

	
	public function initIndicacaoss()
	{
		if ($this->collIndicacaoss === null) {
			$this->collIndicacaoss = array();
		}
	}

	
	public function getIndicacaoss($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseIndicacaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collIndicacaoss === null) {
			if ($this->isNew()) {
			   $this->collIndicacaoss = array();
			} else {

				$criteria->add(IndicacaosPeer::USUARIO_ID, $this->getId());

				IndicacaosPeer::addSelectColumns($criteria);
				$this->collIndicacaoss = IndicacaosPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(IndicacaosPeer::USUARIO_ID, $this->getId());

				IndicacaosPeer::addSelectColumns($criteria);
				if (!isset($this->lastIndicacaosCriteria) || !$this->lastIndicacaosCriteria->equals($criteria)) {
					$this->collIndicacaoss = IndicacaosPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastIndicacaosCriteria = $criteria;
		return $this->collIndicacaoss;
	}

	
	public function countIndicacaoss($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseIndicacaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(IndicacaosPeer::USUARIO_ID, $this->getId());

		return IndicacaosPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addIndicacaos(Indicacaos $l)
	{
		$this->collIndicacaoss[] = $l;
		$l->setUsuarios($this);
	}

	
	public function initMesss()
	{
		if ($this->collMesss === null) {
			$this->collMesss = array();
		}
	}

	
	public function getMesss($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseMessPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collMesss === null) {
			if ($this->isNew()) {
			   $this->collMesss = array();
			} else {

				$criteria->add(MessPeer::USUARIO_ID, $this->getId());

				MessPeer::addSelectColumns($criteria);
				$this->collMesss = MessPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(MessPeer::USUARIO_ID, $this->getId());

				MessPeer::addSelectColumns($criteria);
				if (!isset($this->lastMessCriteria) || !$this->lastMessCriteria->equals($criteria)) {
					$this->collMesss = MessPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastMessCriteria = $criteria;
		return $this->collMesss;
	}

	
	public function countMesss($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseMessPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(MessPeer::USUARIO_ID, $this->getId());

		return MessPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addMess(Mess $l)
	{
		$this->collMesss[] = $l;
		$l->setUsuarios($this);
	}

	
	public function initProfissaoss()
	{
		if ($this->collProfissaoss === null) {
			$this->collProfissaoss = array();
		}
	}

	
	public function getProfissaoss($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseProfissaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collProfissaoss === null) {
			if ($this->isNew()) {
			   $this->collProfissaoss = array();
			} else {

				$criteria->add(ProfissaosPeer::USUARIO_ID, $this->getId());

				ProfissaosPeer::addSelectColumns($criteria);
				$this->collProfissaoss = ProfissaosPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(ProfissaosPeer::USUARIO_ID, $this->getId());

				ProfissaosPeer::addSelectColumns($criteria);
				if (!isset($this->lastProfissaosCriteria) || !$this->lastProfissaosCriteria->equals($criteria)) {
					$this->collProfissaoss = ProfissaosPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastProfissaosCriteria = $criteria;
		return $this->collProfissaoss;
	}

	
	public function countProfissaoss($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseProfissaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(ProfissaosPeer::USUARIO_ID, $this->getId());

		return ProfissaosPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addProfissaos(Profissaos $l)
	{
		$this->collProfissaoss[] = $l;
		$l->setUsuarios($this);
	}

	
	public function initRamoatividadess()
	{
		if ($this->collRamoatividadess === null) {
			$this->collRamoatividadess = array();
		}
	}

	
	public function getRamoatividadess($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseRamoatividadesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collRamoatividadess === null) {
			if ($this->isNew()) {
			   $this->collRamoatividadess = array();
			} else {

				$criteria->add(RamoatividadesPeer::USUARIO_ID, $this->getId());

				RamoatividadesPeer::addSelectColumns($criteria);
				$this->collRamoatividadess = RamoatividadesPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(RamoatividadesPeer::USUARIO_ID, $this->getId());

				RamoatividadesPeer::addSelectColumns($criteria);
				if (!isset($this->lastRamoatividadesCriteria) || !$this->lastRamoatividadesCriteria->equals($criteria)) {
					$this->collRamoatividadess = RamoatividadesPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastRamoatividadesCriteria = $criteria;
		return $this->collRamoatividadess;
	}

	
	public function countRamoatividadess($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseRamoatividadesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(RamoatividadesPeer::USUARIO_ID, $this->getId());

		return RamoatividadesPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addRamoatividades(Ramoatividades $l)
	{
		$this->collRamoatividadess[] = $l;
		$l->setUsuarios($this);
	}

	
	public function initRelatorioss()
	{
		if ($this->collRelatorioss === null) {
			$this->collRelatorioss = array();
		}
	}

	
	public function getRelatorioss($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseRelatoriosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collRelatorioss === null) {
			if ($this->isNew()) {
			   $this->collRelatorioss = array();
			} else {

				$criteria->add(RelatoriosPeer::USUARIO_ID, $this->getId());

				RelatoriosPeer::addSelectColumns($criteria);
				$this->collRelatorioss = RelatoriosPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(RelatoriosPeer::USUARIO_ID, $this->getId());

				RelatoriosPeer::addSelectColumns($criteria);
				if (!isset($this->lastRelatoriosCriteria) || !$this->lastRelatoriosCriteria->equals($criteria)) {
					$this->collRelatorioss = RelatoriosPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastRelatoriosCriteria = $criteria;
		return $this->collRelatorioss;
	}

	
	public function countRelatorioss($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseRelatoriosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(RelatoriosPeer::USUARIO_ID, $this->getId());

		return RelatoriosPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addRelatorios(Relatorios $l)
	{
		$this->collRelatorioss[] = $l;
		$l->setUsuarios($this);
	}

	
	public function initSituacaoss()
	{
		if ($this->collSituacaoss === null) {
			$this->collSituacaoss = array();
		}
	}

	
	public function getSituacaoss($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseSituacaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collSituacaoss === null) {
			if ($this->isNew()) {
			   $this->collSituacaoss = array();
			} else {

				$criteria->add(SituacaosPeer::USUARIO_ID, $this->getId());

				SituacaosPeer::addSelectColumns($criteria);
				$this->collSituacaoss = SituacaosPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(SituacaosPeer::USUARIO_ID, $this->getId());

				SituacaosPeer::addSelectColumns($criteria);
				if (!isset($this->lastSituacaosCriteria) || !$this->lastSituacaosCriteria->equals($criteria)) {
					$this->collSituacaoss = SituacaosPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastSituacaosCriteria = $criteria;
		return $this->collSituacaoss;
	}

	
	public function countSituacaoss($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseSituacaosPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(SituacaosPeer::USUARIO_ID, $this->getId());

		return SituacaosPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addSituacaos(Situacaos $l)
	{
		$this->collSituacaoss[] = $l;
		$l->setUsuarios($this);
	}

	
	public function initTipocontribuintess()
	{
		if ($this->collTipocontribuintess === null) {
			$this->collTipocontribuintess = array();
		}
	}

	
	public function getTipocontribuintess($criteria = null, $con = null)
	{
				include_once 'lib/model/om/BaseTipocontribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		if ($this->collTipocontribuintess === null) {
			if ($this->isNew()) {
			   $this->collTipocontribuintess = array();
			} else {

				$criteria->add(TipocontribuintesPeer::USUARIO_ID, $this->getId());

				TipocontribuintesPeer::addSelectColumns($criteria);
				$this->collTipocontribuintess = TipocontribuintesPeer::doSelect($criteria, $con);
			}
		} else {
						if (!$this->isNew()) {
												

				$criteria->add(TipocontribuintesPeer::USUARIO_ID, $this->getId());

				TipocontribuintesPeer::addSelectColumns($criteria);
				if (!isset($this->lastTipocontribuintesCriteria) || !$this->lastTipocontribuintesCriteria->equals($criteria)) {
					$this->collTipocontribuintess = TipocontribuintesPeer::doSelect($criteria, $con);
				}
			}
		}
		$this->lastTipocontribuintesCriteria = $criteria;
		return $this->collTipocontribuintess;
	}

	
	public function countTipocontribuintess($criteria = null, $distinct = false, $con = null)
	{
				include_once 'lib/model/om/BaseTipocontribuintesPeer.php';
		if ($criteria === null) {
			$criteria = new Criteria();
		}
		elseif ($criteria instanceof Criteria)
		{
			$criteria = clone $criteria;
		}

		$criteria->add(TipocontribuintesPeer::USUARIO_ID, $this->getId());

		return TipocontribuintesPeer::doCount($criteria, $distinct, $con);
	}

	
	public function addTipocontribuintes(Tipocontribuintes $l)
	{
		$this->collTipocontribuintess[] = $l;
		$l->setUsuarios($this);
	}
	
	public function __toString() {
		// 
		return $this->getLogin();
	}

} 